#ifndef UTILS_H
#define UTILS_H

#include <cstring>
#include <cstdio>

namespace raster {

// thread safe
inline void STRERROR_R(char *buf, size_t size, int errnum)
{
#ifdef _WIN32
    strerror_s(buf, size, errnum);
#else // POSIX.1-2008
    strerror_r(errnum, buf, size);
#endif
}

// void PRINT_ERROR_REASON(FILE* stream, int errnum)
// {
//     char buf[512];
//     STRERROR_R(buf, sizeof(buf), errnum);
//     fprintf(stream, "%s", buf);
// }

} // namespace

#endif
